package com.infocollect.project.api.vo;

import com.infocollect.project.api.entity.TappActEntity;
import com.infocollect.project.api.entity.TappActRoutingEntity;
import com.infocollect.project.api.entity.TappPorcessinsEntity;
import com.infocollect.project.api.entity.TappProcAuditEntity;
import net.sf.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class ProcInstHandleEntity {

    public  ProcInstHandleEntity(){
        tappProcauditList=new ArrayList<>();
        runlogList=new ArrayList<>();
        errorlogList=new ArrayList<>();
    }
    /// <summary>
    /// 流程实例ID
    /// </summary>
    private Long procinsid;
    /// <summary>
    /// 流程模板ID
    /// </summary>
    private Long procid;
    /// <summary>
    /// 流程名称
    /// </summary>
    private String procname;
    /// <summary>
    /// 流程主题
    /// </summary>
    private String procinsname;
    /// <summary>
    /// 流程编号
    /// </summary>
    private String procinsno;
    /// <summary>
    /// 当前节点ID
    /// </summary>
    private Long actid;
    /// <summary>
    /// 审批人
    /// </summary>
    private String fapproversuser;

    /// <summary>
    /// 申请人名称
    /// </summary>
    private String applicantuser;
    /// <summary>
    /// 申请人
    /// </summary>
    private String applicantuserno ;
    /// <summary>
    /// 节点实例ID
    /// </summary>
    private Long actinsid ;
    /// <summary>
    /// 表单模板ID
    /// </summary>
    private Long fromid ;

    public Long getFromid() {
        return fromid;
    }

    public ProcInstHandleEntity setFromid(Long fromid) {
        this.fromid = fromid;
        return this;
    }

    /// <summary>
    /// 表单实例ID
    /// </summary>
    private Long fforminsid ;
    /// <summary>
    /// 发起用户ID
    /// </summary>
    private String startuserid ;
    /// <summary>
    /// 当前用户用户信息
    /// </summary>
    private CurrentUserInfoVO cureentuser;
    /// <summary>
    /// 动作名称
    /// </summary>
    private String actionname;
    /// <summary>
    /// 动作类型 1 发起，5审批
    /// </summary>
    private int action;
     /// <summary>
    /// 审批原因
    /// </summary>
    private String ApprovedDes;
    /// <summary>
    /// 上一个节点
    /// </summary>
    private String PrevActName;
    /// <summary>
    /// 运行时当前节点Act实体对象
    /// </summary>
    private TappActEntity currentactentity;
    ///下一节点
    private  Long nextactid;
    //下一节点对象
    private  TappActEntity nexact;
    //获取下一节点审批人对象
    private String approvalobject;
    //转办人
    private  String redrituser;
    public List<CopyUserEntity> copylist=null;
    public String getRedrituser() {
        return redrituser;
    }

    public void setRedrituser(String redrituser) {
        this.redrituser = redrituser;
    }

    private List<TappProcAuditEntity> tappProcauditList;
    ///运行日志
    private List<String> runlogList;
    ///错误日志
    private List<String> errorlogList;
    public List<TappProcAuditEntity> getTappProcauditList() {
        return tappProcauditList;
    }
    ///添加运行日志
    public void addRunlog(String logMsg) {
         runlogList.add(logMsg);
    }
    ///添加错误日志
    public void addErrorlog(String logMsg) {
        errorlogList.add(logMsg);
    }
    public  List<String> getRunlogList(){
        return runlogList;
    }
    public  List<String> getErrorlog(){
        return errorlogList;
    }
    public String getApprovalobject() {
        return approvalobject;
    }

    public ProcInstHandleEntity setApprovalobject(String approvalobject) {
        this.approvalobject = approvalobject;
        return this;
    }

    public Long getNextactid() {
        return nextactid;
    }

    public ProcInstHandleEntity setNextactid(Long nextactid) {
        this.nextactid = nextactid;
        return this;
    }

    public TappActEntity getNexact() {
        return nexact;
    }

    public String nextactchartid;

    public String getNextactchartid() {
        return nextactchartid;
    }

    public void setNextactchartid(String nextactchartid) {
        this.nextactchartid = nextactchartid;
    }

    public ProcInstHandleEntity setNexact(TappActEntity nexact) {
        this.nexact = nexact;
        return this;
    }

    /// <summary>
    ///
    /// </summary>
    private List<TappActRoutingEntity> tappActroutingList;
    private TappPorcessinsEntity tappPorcessins;

    public TappPorcessinsEntity getTappPorcessins() {
        return tappPorcessins;
    }

    public ProcInstHandleEntity setTappPorcessins(TappPorcessinsEntity tappPorcessins) {
        this.tappPorcessins = tappPorcessins;
        return this;
    }

    private JSONObject fromdata;
    private String fromdataJson;

    public String getFromdataJson() {
        return fromdataJson;
    }

    public ProcInstHandleEntity setFromdataJson(String fromdataJson) {
        this.fromdataJson = fromdataJson;
        return this;
    }

    public JSONObject getFromdata() {
        return fromdata;
    }

    public ProcInstHandleEntity setFromdata(JSONObject fromdata) {
        this.fromdata = fromdata;
        return this;
    }
    public Long getProcinsid() {
        return procinsid;
    }

    public ProcInstHandleEntity setProcinsid(Long procinsid) {
        this.procinsid = procinsid;
        return this;
    }

    public Long getProcid() {
        return procid;
    }

    public ProcInstHandleEntity setProcid(Long procid) {
        this.procid = procid;
        return this;
    }

    public String getProcname() {
        return procname;
    }

    public ProcInstHandleEntity setProcname(String procname) {
        this.procname = procname;
        return this;
    }

    public String getProcinsname() {
        return procinsname;
    }

    public ProcInstHandleEntity setProcinsname(String procinsname) {
        this.procinsname = procinsname;
        return this;
    }

    public String getProcinsno() {
        return procinsno;
    }

    public ProcInstHandleEntity setProcinsno(String procinsno) {
        this.procinsno = procinsno;
        return this;
    }

    public Long getActid() {
        return actid;
    }

    public ProcInstHandleEntity setActid(Long actid) {
        this.actid = actid;
        return this;
    }

    public String getFapproversuser() {
        return fapproversuser;
    }

    public ProcInstHandleEntity setFapproversuser(String fapproversuser) {
        this.fapproversuser = fapproversuser;
        return this;
    }

    public String getApplicantuser() {
        return applicantuser;
    }

    public ProcInstHandleEntity setApplicantuser(String applicantuser) {
        this.applicantuser = applicantuser;
        return this;
    }

    public String getApplicantuserno() {
        return applicantuserno;
    }

    public ProcInstHandleEntity setApplicantuserno(String applicantuserno) {
        this.applicantuserno = applicantuserno;
        return this;
    }

    public Long getActinsid() {
        return actinsid;
    }

    public ProcInstHandleEntity setActinsid(Long actinsid) {
        this.actinsid = actinsid;
        return this;
    }

    public Long getFforminsid() {
        return fforminsid;
    }

    public ProcInstHandleEntity setFforminsid(Long fforminsid) {
        this.fforminsid = fforminsid;
        return this;
    }

    public String getStartuserid() {
        return startuserid;
    }

    public ProcInstHandleEntity setStartuserid(String startuserid) {
        this.startuserid = startuserid;
        return this;
    }

    public CurrentUserInfoVO getCureentuser() {
        return cureentuser;
    }

    public ProcInstHandleEntity setCureentuser(CurrentUserInfoVO cureentuser) {
        this.cureentuser = cureentuser;
        return this;
    }

    public String getActionname() {
        return actionname;
    }

    public ProcInstHandleEntity setActionname(String actionname) {
        this.actionname = actionname;
        return this;
    }

    public int getAction() {
        return action;
    }

    public ProcInstHandleEntity setAction(int action) {
        this.action = action;
        return this;
    }



    public String getApprovedDes() {
        return ApprovedDes;
    }

    public ProcInstHandleEntity setApprovedDes(String approvedDes) {
        ApprovedDes = approvedDes;
        return this;
    }

    public String getPrevActName() {
        return PrevActName;
    }

    public ProcInstHandleEntity setPrevActName(String prevActName) {
        PrevActName = prevActName;
        return this;
    }

    public TappActEntity getCurrentactentity() {
        return currentactentity;
    }

    public ProcInstHandleEntity setCurrentactentity(TappActEntity currentactentity) {
        this.currentactentity = currentactentity;
        return this;
    }

    public List<TappActRoutingEntity> getTappActroutingList() {
        return tappActroutingList;
    }

    public ProcInstHandleEntity setTappActroutingList(List<TappActRoutingEntity> tappActroutingList) {
        this.tappActroutingList = tappActroutingList;
        return this;
    }

}
